package testes;

import static org.junit.Assert.*;
import iscte.es.copaPaises.businessLayer.CalendarDate;
import iscte.es.copaPaises.businessLayer.Jogador;
import iscte.es.copaPaises.businessLayer.Pais;
import iscte.es.copaPaises.businessLayer.Participante;
import iscte.es.copaPaises.businessLayer.Treinador;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;

public class ParticipanteTest {
	private Jogador j;
	private Treinador t;
	private CalendarDate d;
	private String nome;
	@BeforeClass
	public static void setUpBeforeClass() throws Exception {
	}

	@AfterClass
	public static void tearDownAfterClass() throws Exception {
	}

	@Before
	public void setUp() throws Exception {
		j=new Jogador();
		nome="Jacinto costa";
		d=new CalendarDate(23, 4, 1959);
	}

	@After
	public void tearDown() throws Exception {
	}

	@Test
	//tests Participacao(), Participacao(data,nome,pais) and allInstances()
	public void testAllInstances() {
		t=new Treinador(d,nome,new Pais());
		assertTrue("Participante",Participante.allInstances().contains(t));
		assertTrue("Participante",Participante.allInstances().contains(j));
	}


	@Test
	public void testData_nascimento() {
		j.setData_nascimento(d);
		assertEquals("Setter/Getter Participacao.data_nascimento()",j.data_nascimento(),d);
	}

	@Test
	public void testNome() {
		
		j.setNome(nome);
		assertEquals("Setter/Getter Participacao.nome()",j.nome(),nome);
	}

	@Test
	public void testNacionalidade() {
		Pais pais=new Pais();
		j.setNacionalidade(pais);
		assertEquals("Setter/Getter Participacao.nacionalidade()",j.nacionalidade(),pais);
	}


}
